package br.gov.mi.corporativo.dominio.boundary.comum.pessoadomiciliobancario;

import java.util.List;

import javax.inject.Inject;
import javax.jws.WebService;

import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;

import br.gov.mi.corporativo.dominio.entidade.comum.PessoaDomicilioBancario;
import br.gov.mi.corporativo.dominio.repositorio.comum.PessoaDomicilioBancarioRepositorio;
import br.gov.mi.infraestrutura.crud.CrudServicoImpl;

@Component
@Transactional(readOnly=true)
@WebService(endpointInterface = "br.gov.mi.corporativo.dominio.boundary.comum.pessoadomiciliobancario.PessoaDomicilioBancarioEndPoint")
public class PessoaDomicilioBancarioServico extends CrudServicoImpl<PessoaDomicilioBancario, Long, PessoaDomicilioBancarioRepositorio>  implements PessoaDomicilioBancarioEndPoint{

	@Inject
    public void setRepository(PessoaDomicilioBancarioRepositorio repositorio) {
        super.setRepositorio(repositorio);
    }

	@Override
	public PessoaDomicilioBancario recuperarPorIdPessoaDomicilioBancario(Long idPessoaDomicilioBancario) {
		return repositorio.findByIdPessoaDomicilioBancario(idPessoaDomicilioBancario);
	}

	@Override
	public List<PessoaDomicilioBancario> recuperarPorPessoa(Long pessoa) {
		return repositorio.findByPessoa(pessoa);
	}

	@Override
	public List<PessoaDomicilioBancario> recuperarPorAgencia(Long agencia) {
		return repositorio.findByAgencia(agencia);
	}

	@Override
	public List<PessoaDomicilioBancario> recuperarPorNrContaCorrente(String nrContaCorrente) {
		return repositorio.findByNrContaCorrente(nrContaCorrente);
	}

	@Override
	public List<PessoaDomicilioBancario> recuperarPorStContaPrincipal(String stContaPrincipal) {
		return repositorio.findByStContaPrincipal(stContaPrincipal);
	}

	@Override
	public List<PessoaDomicilioBancario> recuperarPorStRegistro(String stRegistro) {
		return repositorio.findByStRegistro(stRegistro);
	}

}
